package cn.schoolwow.util.module.query.resource.flow;

import cn.schoolwow.quickflow.domain.FlowContext;
import cn.schoolwow.quickflow.flow.BusinessFlow;
import com.alibaba.fastjson.JSONObject;

public class JSONObjectToInstanceFlow<T> implements BusinessFlow {
    @Override
    public void executeBusinessFlow(FlowContext flowContext) throws Exception {
        JSONObject jsonObject = (JSONObject) flowContext.checkData("jsonObject");
        Class<T> clazz = (Class<T>) flowContext.checkData("clazz");

        T instance = jsonObject.toJavaObject(clazz);
        flowContext.putReturnData("instance", instance);
    }

    @Override
    public String name() {
        return "JSONObject对象转换为实例";
    }
}
